package jdesktop.appbar.win32;

import com.sun.jna.win32.StdCallLibrary;
import com.sun.jna.Native;
import jdesktop.appbar.win32.AppBarData;

public interface Shell32 extends StdCallLibrary
{

    Shell32 INSTANCE = (Shell32) Native.loadLibrary("shell32", Shell32.class);

    int ABE_LEFT = 0;
    int ABE_TOP = 1;
    int ABE_RIGHT = 2;
    int ABE_BOTTOM = 3;

    int ABM_NEW = 0;
    int ABM_REMOVE = 1;
    int ABM_QUERYPOS = 2;
    int ABM_SETPOS = 3;
    int ABM_GETSTATE = 4;
    int ABM_GETTASKBARPOS = 5;
    int ABM_ACTIVATE = 6;
    int ABM_GETAUTOHIDEBAR = 7;
    int ABM_SETAUTOHIDEBAR = 8;
    int ABM_WINDOWPOSCHANGED = 9;
    int ABM_SETSTATE = 10;

    int ABN_STATECHANGE    = 0x0000000;
    int ABN_POSCHANGED     = 0x0000001;
    int ABN_FULLSCREENAPP  = 0x0000002;
    int ABN_WINDOWARRANGE  = 0x0000003;

    // flags for get state
    int ABS_AUTOHIDE    = 0x0000001;
    int ABS_ALWAYSONTOP = 0x0000002;

    int SHAppBarMessage(int dwMessage, AppBarData pData);
}
